package com.sc;

import java.util.HashMap;
import java.util.Map;

public class BizUtil {
    private static Map<String, String> bizTokenMap;
    public static final String PAY_PWD_BIZ_TOKEN = "pwdBizToken";
    public static final String FACE_BIZ_TOKEN = "faceBizToken";
    public static final String SMS_BIZ_TOKEN = "smsBizToken";
    public static final String DIVIDE = "_";

    public static void setToken(String key, String token) {
        init();
        bizTokenMap.put(key, token);
    }

    private static void init() {
        if (null == bizTokenMap) {
            bizTokenMap = new HashMap<>();
        }
    }

    public static String getTokenString() {
        StringBuffer sb = new StringBuffer();
        String result = "";
        String pwdBiztoken = bizTokenMap.get(PAY_PWD_BIZ_TOKEN);
        String faceBizToken = bizTokenMap.get(FACE_BIZ_TOKEN);
        String smsBizToken = bizTokenMap.get(SMS_BIZ_TOKEN);
        if (null != pwdBiztoken) {
            sb.append(pwdBiztoken);
            sb.append(DIVIDE);
        }
        if (null != faceBizToken) {
            sb.append(faceBizToken);
            sb.append(DIVIDE);
        }
        if (null != smsBizToken) {
            sb.append(smsBizToken);
            sb.append(DIVIDE);
        }
        if (DIVIDE.equals(sb.substring(sb.length() - 1))) {
            result = sb.substring(0, sb.length() - 1);
        } else {
            result = sb.toString();
        }
        sb = null;
        bizTokenMap = null;
        return result;
    }
}
